Title: BCRM50
Description: A Hardware-Based Drum Voice Editor for the Yamaha RM50 Synthesizer and the Behringer BCR2000 MIDI Controller
Version: 1.0
Date of Publication: 23 Jan 2014
Author: Evan Long
Web Site: http://www.EvanLong.net


Acknowledgements
I would like to thank the creators of RM50 Manager and BC Manager (as well as Yamaha and Behringer, of course), without whom this project would not have happened.  Thank you.


Introduction
I've finally completed the first round of work on my BCRM50 project, which is designed to configure a Behringer BCR2000 MIDI controller and a Yamaha RM50 rhythm synthesizer so as to allow a user to edit drum voices using the BCR's knobs and buttons.  The main limitation on this release is that although the RM50's SysEx file is complete, the BCR's only covers the first kit editor.  I will release files for the other seven as time allows, as programming kit editors is very tedious and time-consuming, and I wanted to get at least one published ASAP.

Why, you might be asking, have I gone through the trouble to do this project when there is already a nice (and free) software editor available, RM50 Manager?  The simplest answer is that sometimes I just want to twiddle some knobs to edit sounds instead of sitting in front of and interacting with a computer to do it.  I have found I'm often able to accomplish more this way.


The Yamaha RM50
The RM50 is a powerful and nice-sounding early 90s drum ROMpler, a synthesizer which plays back sound samples (digital recordings) from a factory-set, internal, read-only memory*, but it has some funky MIDI architecture which creates some interesting limitations on how it can be programmed.  That is a big part of why I went in the direction of looking for an editor and then eventually designed one myself.

[*The RM50 can also read waveforms from external ROM cards which can be plugged into it like video game cartridges or read 512kb worth of user-loaded waveforms if the SYEMB06 sample RAM has been installed.  For simplicity's sake, and since most RM50 users probably don't have either of these options, I stuck only with the preset waveforms on this release.]

For its drum kits**, the RM50 uses a hierarchy of Kit > Voice > Wave.  To break that down in more detail, a voice is a collection of up to two waves, or sound samples, and a kit is a collection of up to several dozen voices, each one on a different note of the MIDI keyboard range***, from MIDI note number 35 (B0 in more musical terms) on up.  Somewhat unusually, Yamaha set almost all of the sound parameters -- pitch, filter depth, output jack, etc. -- directly at the voice level, meaning that kits specify what voice is on what note, and that's about it.  In other words, if you want to change basically anything else, you have do it at the voice level, then plug that into one or more of a kit's note-slots.  You should keep this in mind in case you want to start copying voices from one voice slot to another, as it may conflict with the BCRM50 preset kit settings.  Basically, you should leave all the voices on the notes where you find them (voice I-MX 1 on Kit 1, note 36, etc.), and concentrate only on changing their parameters to get the final products that you want.

[**The RM50 also has a "voice mode" which is set up more in the style of how a typical, piano-style synthesizer works, but it isn't what we're interested in here.]

[***On the lowest twenty or so of an RM50 kit's notes, you can actually stack two voices on top of each other for a total of four waves per note.  However, for my purposes, I felt that having four layered voices per note is not all that necessary, so two were enough.  Since there are only 128 voices in the RM50's I-MX user voice bank, which is the only bank which contains fully editable voices, and I wanted to include roughly 16 notes per kit, I also had to factor in the decision to make either four or eight kits total, and in the end I decided that having more kits was preferable on the whole.]

Regarding the kits, the way I have set them up on this project, they have been designed to be General MIDI (GM) compatible and use the following sixteen notes (though of course you can edit each voice to sound however you want, not just as they have been labeled):

36 (C1) - Kick
37 (C#1) - Stick
38 (D1) - Snare
39 (D#1) - Clap
41 (F1) - Tom4 (floor)
42 (F#1) - Hi-hat closed
44 (G#1) - Hi-hat pedal
45 (A1) - Tom3 (mid)
46 (A#1) - Hi-hat open
48 (C2) - Tom2 (mid)
49 (C#2) - Cymbal1
50 (D2) - Tom1 (high)
51 (D#2) - Ride
53 (F2) - Ride bell
56 (G#2) - Cowbell
57 (A2) - Cymbal2

All other notes have been set to "off," so the kits are completely empty except for these sixteen notes (and the rest of the user kits bank is empty except for these eight kits, which are in kit slots 1-8).  Please see the file, "BCRM50 Kit Defaults.pdf," for additional information on the default kit settings.

Regarding the voices/sounds, I have selected the default waves for each kit's voices to match the descriptions/names I've given them (kick, snare, etc.).  Aside from that, I have left other settings such as pitch, LFO, etc. alone, so they are very plain, just starting points.  For full details on the default voice settings, please see the file, "BCRM50 Voice Defaults.pdf."


BCR2000
As for the BCR2000, each of its 32 presets has been entirely devoted to just one voice in this project, so it can only edit a maximum of two kits at a time when fully loaded.  Hence there will be at least four separate SysEx files for the BCR to cover all eight kits.  [NOTE: AS OF JANUARY 2014, ONLY THE EDITOR FOR KIT 1 IS AVAILABLE.  THE OTHERS WILL BE FORTHCOMING.]  

There are 56 knobs per preset, which isn't enough to cover all of the voice parameters in the RM50, so I have only included the ones I felt were the most useful.  (If you want to reprogram the knobs to parameters you prefer, you can download BC Manager and use the RM50 device definition files I have created to do so (included with this release), starting from the BCRM50 SysEx file for the BCR to save time if you like.)  Additionally, the sixteen buttons on the upper portion of the BCR have been configured to send note messages for each of the drum sounds, so basically this can act like a drum machine-style finger trigger interface so that you can test your kit easily while you are editing its sounds, or you could even put it in front of a sequencer to use it to program rhythm parts.  The note buttons are configured like this:

TOM1 (50) - TOM2 (48)  - TOM3 (45)  - TOM4 (41) - RIDE (51) - RDBELL (53) - COWBEL (56) - CYM1 (49)
KICK (36) - SNARE (38) - STICK (37) - CLAP (39) - HHCL (42) - HHOP (46)   - HHPED (44)  - CYM2 (57)

Please see the file, BCRM50 Preset Layout.pdf, for more information.


Conclusion
One additional resource you may want is the RM50 manual, which you can find on-line.  Also, if you need a program to send the SYX files to your devices, I would suggest MIDI-OX or SysEx Librarian.  Otherwise, if you find any bad settings, please let me know, and if you find this useful, please leave some money in the tip jar at EvanLong.net!
